<?php

class Thumb_Plugins_Scale extends ThumbPlugin
{
	public function convert ($src_im, $thumb, &$thumb_out=NULL)
	/**
	 * Создать предпросмотр для картинки, масштабируя пропорционально.
	 *
	 * @param mixed $src_im исходная картинка (нечто, возвращаемое imagecreate*())
	 * @param array $thumb array (
	 *                            'h' => -- высота картинки (в пикселях) :: integer
	 *                            'w' => -- шинина картинки (в пикселях) :: integer
	 *                            );
	 *                            любой из ключей может отсутствовать, тогда для его вычисления
	 *                            применится пропорциональное масштабирование.
	 * @param array& $thumb_out то же что $thumb заполняется недостающими параметрами
	 * @access public
	 * @return resource $dst_im
	 */
	{
		$rect = array('w' => imagesx($src_im), 'h' => imagesy($src_im));

		$new_dims = ImageUtils::dim_scale($thumb, $rect);
		$dst_im   = imagecreatetruecolor($new_dims['w'], $new_dims['h']);
		ImageUtils::copy_transparency($dst_im, $src_im);
		imagecopyresampled($dst_im, $src_im, 0, 0, 0, 0, $new_dims['w'], $new_dims['h'], $rect['w'], $rect['h']);

		$thumb_out['type'] = $thumb['type'];
		$thumb_out['w'] = $new_dims['w'];
		$thumb_out['h'] = $new_dimsa['h'];

		return $dst_im;
	} // end of function convert
}


